草庐IT

MySQL IF THEN 在 WHERE 子句中

全部标签

php - 在 where 子句中具有多个条件的 PDO 准备语句

如果我使用PDO准备语句,并且我有这样的查询:SELECTcat_name,cat_id_PK,cat_amountFROMcategoriesWHEREmonth=?ANDis_recurring='0'ORDERBYcat_nameASC;$results->bindValue(1,$cur_month);我还应该绑定(bind)is_recurring子句的值吗?“0”是硬编码的,我认为它不会让我容易受到SQL注入(inject)的攻击,但我想问一下以确定。我在一个教程中注意到,我正在查看它们确实绑定(bind)了值,即使它不是传递的变量,这让我想知道我是否做对了。

Mysql - WHERE键列表不在子选择中

我有这样的查询:SELECTDISTINCT(obt.oid)ASoid,o.borrower_emailFROM`order_borrower_tracker`obtLEFTJOIN`orders`oONobt.oid=o.oidWHEREobt.date_acknowledged_edelivery=0AND18NOTIN(SELECTDISTINCT(new_status)ASnew_statusFROM`order_status_history`WHEREoid=obt.oid)这行得通,但现在我需要更新此查询,以便不仅“18”不在子选择中,而且还有其他几个数字....类似SE

mysql - SQL where condition is only received one word from the value of the field

由于某些原因,我需要向where条件传递一个字符串而不是行的id。问题是条件不知何故只捕获了所选值的第一个词。例如,看这段代码:LoremIpsumDolor然后,通过回显last_query(),条件将显示:...WHERE`table.column`=`Lorem`...而不是整个值。这是我的查询:publicfunctionfind_id_ano_modelo($marca,$modelo,$ano,$comb){$this->db->select('ano_modelo.id')->join('modelo','modelo.id=ano_modelo.id_modelo')-

mysql - 选择最大值,分组依据并显示不在分组依据子句中的其他列

为了简短起见,我在网上找到了一个教程并按照说明进行操作:http://www.tizag.com/mysqlTutorial/mysqlmax.phpSELECTtype,MAX(price)FROMproductsGROUPBYtype我的问题是:我如何回显哪件“衣服”最贵(在本例中为“女衬衫”)?更新:对不起各位,我的错。我需要让自己更清楚。我正在寻找的是一种解决方案,可以在最昂贵的地方显示每个“名称”:nametypepriceClothingBlouse34.97ToyPlaystation89.95MusicCountryTunes21.55 最佳

php - Codeigniter 删除连接子句中的 "("

我在连接子句中遇到问题...这是我的代码:$this->db->select("users.id,users.first_name,users.second_name")->from("users");$this->db->join("users_groups","users_groups.user_id=users.idAND(users_groups.group_id=".$this->config->item("admin_group")."ORusers_groups.group_id=".$this->config->item("admin_location_group").

sql - 在 SQL WHERE ... IN 子句中使用文本文件中的术语

我正在为MySQL服务器运行SQL查询...wherenamein("term1","term2","term3")我想从文本文件中获取术语列表,每行一个术语。我该怎么做?如果这个术语列表变大怎么办?10K,例如。这会有效还是我应该使用另一种方法?可能是临时表并加入?数据库是只读的。 最佳答案 我对MySQL不太熟悉,但我看到类似这样的东西,您可以按照您在问题中的建议将文本文件加载到表中:-LOADDATAINFILE'file.txt'INTOTABLEt1(column1,column2,column3);然后使用连接获取数据。

sql - 在 MATCH AGAINST 子句中使用 concat - mysql

我真的希望有人能帮助我解决我的问题。我想实现与group_concat查询的匹配。我需要这样的东西:Selectc.id,p.placefromcontentcjoinplaceponp.object_id=c.idwherematch(group_concat(p.place))AGAINST('"string1""string2""string3"',INBOOLEANMODE)andnotmatch(group_concat(p.place))AGAINST('string4',INBOOLEANMODE)我尝试使用alsohaving子句但不起作用。目前我不知道如何解决这个问题

mysql - 跳过mysql like子句中的字符

你好,我想在使用mysql使用like匹配任何字符串时跳过一些字符。例如,我有一个像这样的字符串2011-07-1206:09。我想匹配时间戳的唯一月份部分而不是整个。我知道我可以对整个字符串使用%。我想跳过该部分前后的字符。谁能告诉我如何完成这项工作 最佳答案 使用MONTH()从日期中获取月份的函数。不要重新发明轮子。如果您真的对使用like匹配字符串感兴趣,您最好使用下划线(_)作为一个通配符:select*fromsome_tablewheresome_columnlike'__-07-____:__'

php - 添加 WHERE YEAR 中断计算

我有一个非常简单的查询:SELECTa,b,a+bascFROMrecords效果很好。他是结果的例子:Array([a]=>100.92[b]=>21.00[c]=>121.92)但是当我尝试按年份过滤记录时:SELECTa,b,a+bascFROMrecordsWHEREYEAR(`mydate`)='2011'a+b计算消失了:Array([a]=>100.92[b]=>21.00[c]=>)我是否漏掉了一些明显的东西?更新:有人要求我提供实际的SQL,这里是:从交易中选择贷方、借方、贷方+借方作为总计年份(transaction_date)='2011'transaction_

mysql - 使用 WHERE 选择 LEFT/RIGHT JOIN 并返回 NULL

我需要将以下两个有效查询转换为一个查询,但所有内容由于各种原因,我尝试在我身上死去。我的最终结果是尝试列出所有手头上的软件,并显示为所查询的特定PC安装了哪些软件,哪些未安装。对于已安装的软件,列出名称,否则为名称显示NULL。我已经在where子句中尝试了一些子选择语句,这些语句给了我一个没有错误的结果,但不是正确的结果。感谢您的帮助。qry1SELECTdevice_software.sw_idFROMSoftware_deviceLEFTJOINDeviceONSoftware_device.d_id=Device.d_idWHEREDevice.d_id=1;qry2SELEC